package Util;

public enum MVNMnemonic {
	
	JUMP				( 0, "JP"),
	JUMP_IF_ZERO		( 1, "JZ"),
	JUMP_IF_NEGATIVE	( 2, "JN"),
	LOAD_VALUE			( 3, "LV"),
	ADD					( 4,  "+"),
	SUBTRACT			( 5,  "-"),
	MULTIPLY			( 6,  "*"),
	DIVIDE				( 7,  "/"),
	LOAD				( 8, "LD"),
	MOVE_TO_MEMORY		( 9, "MM"),
	SOBROUTINE_CALL		(10, "SC"),
	RETURN_FROM_SUB		(11, "RS"),
	HALT_MACHINE		(12, "HM"),
	GET_DATA			(13, "GD"),
	PUT_DATA			(14, "PD"),
	OPERATING_SYSTEM	(15, "OS");
	
	private int operation;
	private String mnemonic;
	
	private MVNMnemonic (int operation, String mnemonic) {
		this.operation = operation;
		this.mnemonic = mnemonic;
	}
	
	public int getOperationId () {
		return this.operation;
	}
	
	public String getMnemonic() {
		return this.mnemonic;
	}
}
